Propagate sampling metadata across trace chunks - #12092
Conversation
|
🎯 Code Coverage (details) 🔗 Commit SHA: 71f3bbb | Docs | Datadog PR Page | Give us feedback! |
🟡 Java Benchmark SLOs — Performance SLO warning (near threshold)
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
There was a problem hiding this comment.
More details
The changed write path copies the local root decision maker only onto the first span of a separately exported chunk, after sampling succeeds and before serialization. Propagation-tag locking and pending-trace ordering match that intent, and no diff-only behavioral regression was identified; execution was limited by the unavailable Java 25 toolchain.
🤖 Datadog Autotest · Commit 71f3bbb · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
What Does This Do
Propagate sampling metadata across trace chunks by copying over the sampling decision maker (
_dd.p.dm) on trace chunks that do not contain the local root span.Motivation
Keep sampling metadata consistent across trace chunks. Non-root trace chunks previously did not include
_dd.p.dm, which led trace intake to classify the adaptive-sampled traces with the wrongingestion_reason(i.e. defaulting toruleinstead ofadaptive_rule). This led to over-ingestion of traces when adaptive sampling was enabled.Additional Notes
May be superseded by #12096
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]